|
Decimal floating-point (DFP) arithmetic refers to both a representation and operations on decimal floating-point numbers. Working directly with decimal (base-10) fractions can avoid the rounding errors that otherwise typically occur when converting between decimal fractions (common in human-entered data, such as measurements or financial information) and binary (base-2) fractions. The advantage of decimal floating-point representation over decimal fixed-point and integer representation is that it supports a much wider range of values. For example, while a fixed-point representation that allocates 8 decimal digits and 2 decimal places can represent the numbers 123456.78, 8765.43, 123.00, and so on, a floating-point representation with 8 decimal digits could also represent 1.2345678, 1234567.8, 0.000012345678, 12345678000000000, and so on. This wider range can dramatically slow the accumulation of rounding errors during successive calculations; for example, the Kahan summation algorithm can be used in floating point to add many numbers with no asymptotic accumulation of rounding error. == Implementations == Early mechanical uses of decimal floating point are evident in the abacus, slide rule, the Smallwood calculator, and some other calculators that support entries in scientific notation. In the case of the mechanical calculators, the exponent is often treated as side information that is accounted for separately. Some computer languages have implementations of decimal floating-point arithmetic, including PL/I, Java with big decimal, emacs with calc, Python's decimal module, and in Unix the bc and dc calculators. In 1987, the IEEE released IEEE 854, a standard for computing with decimal floating point, which lacked a specification for how floating-point data should be encoded for interchange with other systems. This is being addressed in IEEE 754-2008, which standardizes the encodings of decimal floating-point data, albeit with two different alternative encodings. IBM POWER6 includes DFP in hardware, as does the IBM System z9.〔http://www-306.ibm.com/common/ssi/rep_ca/0/897/ENUS107-190/ENUS107190.PDF〕 SilMinds offers SilAx; a configurable vector DFP coprocessor.〔http://www.silminds.com/decimal-products/accelerator-cards/76〕 IEEE 754-2008 defines this in more detail. Microsoft C#, or .NET, uses System.Decimal.〔http://www.yoda.arachsys.com/csharp/decimal.html〕 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Decimal floating point」の詳細全文を読む スポンサード リンク
|